﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using CondominioWeb.Dominio;
using NHibernate;
using NHibernate.Criterion;

namespace CondominioWeb.Persistencia.NHibernate
{
    public class ReservaDAO:BaseDAO<Reserva,Int32>
    {

        public ICollection<Reserva> ListaTodasReservas(String descripcion)
        {
            using (ISession sesion = NHibernateHelper.AbrirSesion())
            {
                ICollection<Reserva> resultado = sesion
                        .CreateCriteria(typeof(Reserva))
                     //   .Add(Restrictions.Like("rsvSituacion", "%" + descripcion.Trim() + "%"))
                        .List<Reserva>();
                return resultado;
            }
        }
        public ICollection<Reserva> ReservaAreaComunXFecha(Area_Comun AreaComun,DateTime ReservaFecha)
        {
            using (ISession sesion = NHibernateHelper.AbrirSesion())
            {
                ICollection<Reserva> resultado = sesion
                        .CreateCriteria(typeof(Reserva))
                        .Add(Restrictions.Eq("oAreaComun.Codigo_Area_Comun", AreaComun.Codigo_Area_Comun))
                        .Add(Restrictions.Eq("FechaSeparacion", ReservaFecha))
                        
                        .List<Reserva>();
                return resultado;
            }
        }
        public ICollection<Reserva> ReservaAreaComunXCliente(String Residente, DateTime ReservaFecha)
        {
            using (ISession sesion = NHibernateHelper.AbrirSesion())
            {
                ICollection<Reserva> resultado = sesion
                        .CreateCriteria(typeof(Reserva))
                        .Add(Restrictions.Eq("Responsable", Residente))
                        .Add(Restrictions.Eq("FechaSeparacion", ReservaFecha))
                        .List<Reserva>();
                return resultado;
            }
        }
    }
}